In [2]:
from sympy import *
init_printing()
In [48]:
(alpha,beta,gamma)=symbols('alpha,beta,gamma')

Néhány egy kvantumbites kapu mátrixa:

$X=\left[\begin{matrix}0 & 1\\1 & 0\end{matrix}\right], \ Y=\left[\begin{matrix}0 & - i\\i & 0\end{matrix}\right], \ Z=\left[\begin{matrix}1 & 0\\0 & -1\end{matrix}\right], \ H=\left[\begin{matrix}\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2}\\\frac{\sqrt{2}}{2} & - \frac{\sqrt{2}}{2}\end{matrix}\right]$

In [92]:
X_gate=Matrix([[0,1],[1,0]])
Y_gate=Matrix([[0,-I],[I,0]])
Z_gate=Matrix([[1,0],[0,-1]])
H_gate=Matrix([[1,1],[1,-1]])/sqrt(2)

Állapotok

$\mid 0 \rangle = \left[\begin{matrix}1\\0\end{matrix}\right], \ \mid 1 \rangle = \left[\begin{matrix}0\\1\end{matrix}\right], \ \mid \Psi \rangle = \left[\begin{matrix}\alpha\\\beta\end{matrix}\right], \ \mid \Psi_H \rangle = \frac{1}{\sqrt{2}}\left[\begin{matrix}1\\1\end{matrix}\right]$

In [106]:
state_0=Matrix([[1],[0]])
state_1=Matrix([[0],[1]])
state_random=alpha*state_0+beta*state_1
state_H=state_random.subs(alpha,1/sqrt(2)).subs(beta,1/sqrt(2))

Polárszűrők X, Y, +45°, -45°

$P_X= \left[\begin{matrix}1 & 0\\0 & 0\end{matrix}\right], \ P_Y\left[\begin{matrix}0 & 0\\0 & 1\end{matrix}\right], \ P_{+45}\left[\begin{matrix}0.5 & -0.5\\-0.5 & 0.5\end{matrix}\right], \ P_{-45}\left[\begin{matrix}0.5 & 0.5\\0.5 & 0.5\end{matrix}\right]$

In [102]:
Polar_X=Matrix([[1,0],[0,0]])
Polar_Y=Matrix([[0,0],[0,1]])
Polar_45p=Matrix([[1/2,-1/2],[-1/2,1/2]])
Polar_45m=Matrix([[1/2,1/2],[1/2,1/2]])
In [ ]:
 

Két merőleges polárszűrő egymás után

$\left[\begin{matrix}1 & 0\\0 & 0\end{matrix}\right] \cdot \left[\begin{matrix}0 & 0\\0 & 1\end{matrix}\right] = \left[\begin{matrix}0 & 0\\0 & 0\end{matrix}\right]$

In [100]:
Polar_X@Polar_Y
Out[100]:
$\displaystyle \left[\begin{matrix}0 & 0\\0 & 0\end{matrix}\right]$

Három polárszűrú esete

$\left[\begin{matrix}1 & 0\\0 & 0\end{matrix}\right] \cdot \left[\begin{matrix}0.5 & -0.5\\-0.5 & 0.5\end{matrix}\right] \cdot \left[\begin{matrix}0 & 0\\0 & 1\end{matrix}\right] = \left[\begin{matrix}0 & -0.5\\0 & 0\end{matrix}\right]$

In [111]:
(Polar_X@Polar_45p@Polar_Y)@state_random
Out[111]:
$\displaystyle \left[\begin{matrix}- 0.5 \beta\\0\end{matrix}\right]$

Késleltetők ( egyik illetve másik polarizációra )

$ \left[\begin{matrix}1 & 0\\0 & e^{i \gamma}\end{matrix}\right] $, $ \left[\begin{matrix}e^{i \gamma} & 0\\0 & 1\end{matrix}\right] $

In [137]:
Y_delay=Matrix([[1,0],[0,exp(I*gamma)]])
X_delay=Matrix([[exp(I*gamma),0],[0,1]])

Forgató

In [127]:
rotator=Matrix([[cos(gamma),-sin(gamma)],[sin(gamma),cos(gamma)]])
rotator
Out[127]:
$\displaystyle \left[\begin{matrix}\cos{\left(\gamma \right)} & - \sin{\left(\gamma \right)}\\\sin{\left(\gamma \right)} & \cos{\left(\gamma \right)}\end{matrix}\right]$
In [128]:
rotator.subs(gamma, pi/2)
Out[128]:
$\displaystyle \left[\begin{matrix}0 & -1\\1 & 0\end{matrix}\right]$

X komponens mérése

$ \left[\begin{matrix}1 & 0\\0 & 0\end{matrix}\right] \left[\begin{matrix}\alpha\\\beta\end{matrix}\right] = \left[\begin{matrix}\alpha\\0\end{matrix}\right]$, a detektor az amplitudó négyzetet méri: $ \mid \alpha \mid ^2 $ -et.

In [138]:
(Polar_X@state_random).norm()**2
Out[138]:
$\displaystyle \left|{\alpha}\right|^{2}$
In [ ]: